from pyecharts.charts import Bar, Map, Pie, WordCloud
from pyecharts import options as opts
from pyecharts.globals import ThemeType
import pandas as pd
from collections import Counter


df_reslult = pd.read_excel('./result.xlsx')

df_wx = df_reslult[df_reslult['专业名'] == '网络与新媒体']
df_wx_place = df_wx['学校地址'].value_counts()

df_wx_data = []
for i in df_wx_place.items():
    
    if i[0] == '新疆':
        df_wx_data.append(['新疆维吾尔自治区', i[1]])

    elif i[0] == '内蒙古':
        df_wx_data.append(['内蒙古自治区', i[1]])
    elif i[0] == '宁夏':
        df_wx_data.append(['宁夏回族自治区', i[1]])
    elif i[0] == '西藏':
        df_wx_data.append(['西藏自治区', i[1]])
    elif i[0] == '广西':
        df_wx_data.append(['广西壮族自治区', i[1]])
    elif i[0] == '北京':
        df_wx_data.append(['北京市', i[1]])
    elif i[0] == '重庆':
        df_wx_data.append(['重庆市', i[1]])
    elif i[0] == '上海':
        df_wx_data.append(['上海市', i[1]])
    else:
        df_wx_data.append([i[0]+'省', i[1]])

df_wx_map = (
    Map()
    .add('网络与新媒体专业学校分布', df_wx_data, 'china')
    .set_global_opts(
        # title_opts=opts.TitleOpts(title='网络与新媒体专业学校分布'),
        visualmap_opts=opts.VisualMapOpts(max_=35)
    )
)
df_wx_map.render('网络与新媒体专业学校分布.html')



wordcloud_school_type = []
for i in df_wx['学校类型'].values.tolist():
    wordcloud_school_type += i.split('，')

wordcloud_school_type_count = Counter(wordcloud_school_type)

wordcloud = (
    WordCloud()
    .add("", wordcloud_school_type_count.items(), word_size_range=[10, 100])
    # .set_global_opts(title_opts=opts.TitleOpts(title="学校类型词云图"))
)
wordcloud.render('网络与新媒体专业学校类型词云图.html')



# -----------------------------------
df_xw = df_reslult[df_reslult['专业名'] == '新闻学']
df_xw_place = df_xw['学校地址'].value_counts()

df_xw_data = []
for i in df_xw_place.items():
    
    if i[0] == '新疆':
        df_xw_data.append(['新疆维吾尔自治区', i[1]])

    elif i[0] == '内蒙古':
        df_xw_data.append(['内蒙古自治区', i[1]])
    elif i[0] == '宁夏':
        df_xw_data.append(['宁夏回族自治区', i[1]])
    elif i[0] == '西藏':
        df_xw_data.append(['西藏自治区', i[1]])
    elif i[0] == '广西':
        df_xw_data.append(['广西壮族自治区', i[1]])
    elif i[0] == '北京':
        df_xw_data.append(['北京市', i[1]])
    elif i[0] == '重庆':
        df_xw_data.append(['重庆市', i[1]])
    elif i[0] == '上海':
        df_xw_data.append(['上海市', i[1]])
    else:
        df_xw_data.append([i[0]+'省', i[1]])

df_xw_map = (
    Map()
    .add('新闻学学校分布', df_xw_data, 'china')
    .set_global_opts(
        # title_opts=opts.TitleOpts(title='新闻学学校分布'),
        visualmap_opts=opts.VisualMapOpts(max_=35)
    )
)
df_xw_map.render('新闻学学校分布.html')



wordcloud_school_type = []
for i in df_xw['学校类型'].values.tolist():
    wordcloud_school_type += i.split('，')

wordcloud_school_type_count = Counter(wordcloud_school_type)

wordcloud = (
    WordCloud()
    .add("", wordcloud_school_type_count.items(), word_size_range=[10, 100])
    # .set_global_opts(title_opts=opts.TitleOpts(title="新闻学学校类型词云图"))
)
wordcloud.render('新闻学学校类型词云图.html')



# -----------------------------------------
df_hyy = df_reslult[df_reslult['专业名'] == '汉语言文学']
df_hyy_place = df_hyy['学校地址'].value_counts()

df_hyy_data = []
for i in df_hyy_place.items():
    
    if i[0] == '新疆':
        df_hyy_data.append(['新疆维吾尔自治区', i[1]])

    elif i[0] == '内蒙古':
        df_hyy_data.append(['内蒙古自治区', i[1]])
    elif i[0] == '宁夏':
        df_hyy_data.append(['宁夏回族自治区', i[1]])
    elif i[0] == '西藏':
        df_hyy_data.append(['西藏自治区', i[1]])
    elif i[0] == '广西':
        df_hyy_data.append(['广西壮族自治区', i[1]])
    elif i[0] == '北京':
        df_hyy_data.append(['北京市', i[1]])
    elif i[0] == '重庆':
        df_hyy_data.append(['重庆市', i[1]])
    elif i[0] == '上海':
        df_hyy_data.append(['上海市', i[1]])
    else:
        df_hyy_data.append([i[0]+'省', i[1]])

df_hyy_map = (
    Map()
    .add('汉语言文学学校分布', df_hyy_data, 'china')
    .set_global_opts(
        # title_opts=opts.TitleOpts(title='汉语言文学学校分布'),
        visualmap_opts=opts.VisualMapOpts(max_=35)
    )
)
df_hyy_map.render('汉语言文学学校分布.html')



wordcloud_school_type = []
for i in df_hyy['学校类型'].values.tolist():
    wordcloud_school_type += i.split('，')

wordcloud_school_type_count = Counter(wordcloud_school_type)

wordcloud = (
    WordCloud()
    .add("", wordcloud_school_type_count.items(), word_size_range=[10, 100])
    # .set_global_opts(title_opts=opts.TitleOpts(title="汉语言文学学校类型词云图"))
)
wordcloud.render('汉语言文学学校类型词云图.html')

